WD ONとOFFのどちらを標準にするか?
- Don’t mix Write Defaults in a single controller. Mixed Write Defaults will behave like WD off.
- The exception to this is layers with a single state in them. These can, and in the case of Direct Blend Trees, should be set to Write Defaults On.
- It is okay to do this since they never leave their state, and therefore, we never rely on the WD On behaviour.
ON・OFF混在の場合はOFFの挙動となる
ただし、レイヤー内にステートの遷移が存在しない場合はONの挙動を維持できる
ただなんか、一部ではAdditiveレイヤーはWDオンでないと動かないみたいな話も出てますが…
VRChatとしても認めた形っぽいので、Additive PlayableLayers自体をWDオン仕様にする必要がありそう
Interruption Source、WDオンありき機能っぽく、使うなよ!みたいな話が、WDオフがVRChatの推奨になったあたりで(英語圏つよつよ勢の間で)話題になってたわね
海外ユーザーの間だとInterruption Source自体がWDオン推奨みたいな話があったみたいですね…(知らなかった!
Write Defaultsオフにする時に気を付ける事リスト
□アニメーションで使っているキーは常にどこかのステートで再生されるようにする(『オンにしたならばオフにする』をセットで考える)
□Controller内の全てのステートのWDをオフにする
□Motion欄がNoneのステートを作らない(空で良いので何らかのアニメーションをセットする)
□GestureレイヤーでHumanoid以外のTransformが動かないので、FXレイヤーで動かす
□遷移にInterruption Sourceは使わない(Noneにする)
□BlendTreeのうちDirectタイプは避ける
制限キツすぎない…?
WD ON
WD ONの方がパフォーマンスが良いらしい
WD OFFの場合、Motionが空のステートで不具合が発生する
警告が出るようになったらしい
これ空AnimationClipにはダミーで良いからアニメーションキー1個以上入れろってやつだ!
WD OFF
Sit巨大化バグはGestureとFXの両方がWD ONだと発生する
修正済み
ビルド時にFXのWDをチェックして変更するのが無難そう
MA Merge Animatorの実装を確認
ON統一とOFF統一の両方に対応してたっけ?
設定は下記の3択
統一
アバターのWDが統一されていないときはどうする?
4択にしてON優先とOFF優先を作る?
常にOFF
適用時にOFFにしておき、ビルド時には変更しない
常にON
適用時にONにしておき、ビルド時には変更しない
ビルド時にダンスギミックが動作しないケースだった場合は警告を出したい
こっちの方がいいかも
ビルド時にWDを統一するかどうか
これは推奨設定とする
統一しない場合、WD ON・OFFのどちらにするか
BlendTreeの挙動を考慮すると、OFFをデフォルトにしたい
WD ON・OFFでの挙動の違いを観測
GestureManagerで確認
Fistにトリガー目閉じ、Openに目閉じ(Fistとは別のシェイプキー)で発生
Fistは2D BlendTree
WD ONの場合、OpenからFistに遷移する瞬間に表情が混ざる
Fistへの遷移の際に表情がなめらかにブレンドされるはずだが、Openの目閉じが100のまま遷移しているように見える
WD OFFの場合は混ざらない
InteruptionSourceをCurrentからNoneに変更しても解消しない
WD ON・OFF混在の場合はWD OFFと同様の挙動
FaceEmo 1.5.5 および 1.5.6(予定)で発生
1.5.6(予定)の改修内容は関係ない
BlendTreeへの遷移で発生していそう
WD On breaks transition time to blendtrees when a parameter is Animated
これか…
ほぼ回避策がない
WD OFFにする or BlendTreeのステートに遷移しない or AAPを使わない
1D BlendTreeを使用しているステートで、なおかつアニメーションが1フレームなら、2つのアニメーションを統合してMotionTime式にすることで回避できるか
1フレームでなくても、すべてのフレームで値が同じであればOK
やはり表情の挙動を優先するならWD OFFか…?
WD混合の場合はアニメーションが不発になることがあるため統一すべき
Random properties in the controller will "stick," refusing to change even when they are instructed to by an animation.